<script class="brush: perl;" type="syntaxhighlighter">
#!/usr/local/bin/perl
use strict; #! comment (not shebang)
use Some::Module 0.01 qw( imports
  exports );

$Some::Module::Var = [ 'arrayref' ];
my %hash = %Package::Stash::;

our @array = 1 .. 3;
print $#array, $array[0];

local $ENV{FOO} = qq[BAR $foo];
call(func => "args", opt => q#val#, code => \&amp;baz);

=pod

This is C<perl> documentation.

=cut

LABEL: {
  do { something(); }
  undef;
  Object-&gt;new();
}

sub something (;$) { Print @_ } # upper-case P
*Other::Package::foo = sub { q!bad! };
my $str = do { my $empty = q{}; $empty .= q'_'; };

print <<HERE;
 doc;
HERE

say 1 + 1;

Load(&lt;&lt;'...'); # YAML heredoc
---
type: yaml
...

print 1; __END__
print 2;  # won't print; after script
__DATA__
fake file handle
</script>
<script class="brush: perl;" type="syntaxhighlighter">
# comment

=head1 Foo

No 'cut' block, it just ends.
</script>
